Serge Demeyer | Publications | E-mail Feedback


Serge Demeyer / Publication (Details)

Last updated on Thursday, November 16, 2023

@article{Gobert2023InformationSystems,
  author =        {Maxime Gobert and Csaba Nagy and Henrique Rocha and
                   Serge Demeyer and Anthony Cleve},
  journal =       {Information Systems},
  month =         jan,
  pages =         {102105},
  title =         {Best practices of testing database manipulation code},
  volume =        {111},
  year =          {2023},
  abstract =      {Software testing enables development teams to
                   maintain the quality of a software system while it
                   evolves. The database manipulation code requires
                   special attention in this context. However, it is
                   often neglected and suffers from software maintenance
                   problems. In this paper, we study the current
                   state-of-the-practice in testing database
                   manipulation code. We first analysed the tests of 72
                   open-source projects to gain insight into the
                   coverage of database access code. The database was
                   poorly tested: 46\% of the projects did not cover
                   with tests half of their database access methods, and
                   33\% did not cover the database code at all. This
                   poor coverage motivated us to study developers’
                   challenges and best practices. (i) First, we analysed
                   532 questions on Stack Exchange sites and deduced a
                   taxonomy of issues. Developers mostly looked for
                   general best practices to test database access code.
                   Their technical questions were related to database
                   management, mocking, parallelisation, or
                   framework/tool usage. (ii) Next, we examined the
                   answers to these questions. We manually labelled 598
                   answers to 255 questions. We distinguished 363
                   solutions and organised them in a taxonomy of best
                   practices. Most of the suggestions considered the
                   testing environment and recommended various tools or
                   configurations. The second largest category was
                   database management, where many addressed database
                   initialisation and clean-up between tests. Other
                   categories pertained to code structure or design,
                   concepts, performance, processes, test
                   characteristics, test code, and mocking. We
                   illustrate the two taxonomies through intriguing
                   examples.},
  annote =        {internationaljournal},
  doi =           {10.1016/j.is.2022.102105},
  issn =          {0306-4379},
  url =           {https://www.sciencedirect.com/science/article/pii/
                  S0306437922000886},
}

Serge Demeyer | Publications | E-mail Feedback